function [ new_weights ] = adjust_weights( old_weights, pattern, Si, oi )

global ETA;
global G_FUNCTION;
%ADJUSTWEIGHTS 
% El objetivo de esta funcion es calcular los deltas y ajustar los pesos.

if G_FUNCTION == 3 || G_FUNCTION == 4 || G_FUNCTION == 2
    delta_weights = ETA * ((Si-oi)*g_function_p(oi)) * pattern;
else
    delta_weights = ETA * (Si-oi) * pattern;
end

new_weights = old_weights + delta_weights';

end

